import java.io.File;
import java.io.IOException;
import java.util.Date;

public class UseFile {
    public static void main(String[] args) throws IOException {
        File dir1=new File("D:/Code/dir1");
        if(!dir1.exists())dir1.mkdirs();
        File dir2=new File(dir1,"dir2");
        if(!dir2.exists())dir2.mkdirs();
        File dir4=new File(dir1,"dir3/dir4");
        if(!dir4.exists())dir4.mkdirs();
        File file=new File(dir2,"text.txt");
        if(!file.exists())file.createNewFile();
        listDir(dir1);
        deleteDir(dir1);
    }
    public static void listDir(File dir){
        File []lists=dir.listFiles();
        /*显示当前目录下包含的所以有子目录和文件名字*/
        String info="目录："+dir.getName()+"(";
//
        for(int i=0;i< lists.length;i++)
            info +=lists[i].getName()+"";
//       for 循环完事加上括号，相当巧妙
            info+=")";
            System.out.println(info);
/*                 显示当前目录下包含的所有子目录和文件           */
        for(int i=0;i<lists.length;i++){
            File f=lists[i];
            if(f.isFile())System.out.println("文件"+f.getName()+"canRead:"+f.canRead()+"lastMoidfied"+new Date(f.lastModified()));
            else
                listDir(f);//如果为目录，就递归调用listDir()方法
        }

    }
    public  static  void deleteDir(File file){
//        如果file代表文件，就删除该文件

        if(file.isFile()) {
            file.delete();
            return ;
        }
        /*如果file表表目录，先删除目录下的所有子目录和文件*/
        File [] lists=file.listFiles();
        for(int i=0;i<lists.length;i++){
            deleteDir(lists[i]);
        }
        file.delete();
    }
}
